#include <mockcpp/mockcpp.hpp>
#include <testngpp/testngpp.hpp>
#include <Volume.h>
#include <VolumeUnit.h>

USING_MOCKCPP_NS
USING_TESTNGPP_NS

FIXTURE(Volume)
{
	TEST(should be able to compare OZ with TSP. 1 OZ = 3 TSP)
	{
		ASSERT_TRUE(Volume(1, OZ) == Volume(3, TSP));
	}

	TEST(should be able to compare TSP with TBSP. 1 TSP = 4 TBSP)
	{
		ASSERT_TRUE(Volume(1, TSP) == Volume(4, TBSP));
	}

	TEST(should be able to compare OZ with TBSP. 1 OZ = 12 TBSP)
	{
		ASSERT_TRUE(Volume(1, OZ) == Volume(12, TBSP));
	}

	TEST(should be able to fail if OZ not equal to TSP)
	{
		ASSERT_TRUE(Volume(2, OZ) != Volume(3, TSP));
	}

	TEST(should be able to fail if TSP not equal to TBSP)
	{
		ASSERT_TRUE(Volume(2, TSP) != Volume(4, TBSP));
	}

    TEST(should be add OZ and TSP,  1 OZ + 3 TSP = 2 OZ)
    {
        ASSERT_TRUE(Volume(1,OZ) + Volume(3,TSP) == Volume(2,OZ));
    }
};

